package com.lottery.material.dao.article;

import com.lottery.material.pojo.article.ArticleChargePricingConfig;
import com.lottery.material.pojo.page.Page;
import com.lottery.material.pojocustom.article.ArticleChargePricingConfigCustom;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @description 文章收费定价配置Mapper
 * @author rambo
 * @date 2019年4月11日 下午9:21:41
 */
@SuppressWarnings("JavaDoc")
public interface ArticleChargePricingConfigMapper {
	
    Integer deleteByPrimaryKey(Integer id);

    Integer insert(ArticleChargePricingConfig record);

    Integer insertSelective(ArticleChargePricingConfig record);

    ArticleChargePricingConfig selectByPrimaryKey(Integer id);

    Integer updateByPrimaryKeySelective(ArticleChargePricingConfig record);

    Integer updateByPrimaryKey(ArticleChargePricingConfig record);

    /**
     * description：查询扩展类分页列表
     * user 朱正磊
     * time 2019-04-17 17:01
     * @param page 分页对象
     * @return 返回扩展类分页列表数据
     */
    List<ArticleChargePricingConfigCustom> findCustomListPage(Page page);

    /**
     * description：根据主键查询唯一扩展类数据
     * user 朱正磊
     * time 2019-04-17 17:03
     * @param id 主键
     * @return 返回唯一扩展类数据
     */
    ArticleChargePricingConfigCustom findCustomById(Integer id);

    /**
     * description：根据用户等级查询唯一数据
     * user 朱正磊
     * time 2019-05-20 13:28
     * @param userLevel 用户等级
     * @return 返回唯一数据
     */
    ArticleChargePricingConfig findByUserLevel(Integer userLevel);

    /**
     * description：批量新增
     * user 朱正磊
     * time 2019-05-20 14:37
     * @param list
     * @return
     */
    Integer addBatch(List<ArticleChargePricingConfig> list);

    /**
     * description：根据主键集合查询多个数据
     * user 朱正磊
     * time 2019-05-20 16:38
     * @param ids 主键集合
     * @return 返回多个数据
     */
    List<ArticleChargePricingConfig> findByIds(List<Integer> ids);

    /**
     * description：批量修改
     * user 朱正磊
     * time 2019-05-20 17:34
     * @param dataMap 参数Map集合
     * @return 返回持久化操作数据库状态值
     */
    Integer updateByIds(Map<String, Object> dataMap);

    /**
     * description: 根据用户id查询文章收费定价
     * author sunny
     * createDate 2019-04-30 上午 10:22
     * @param userId
     * @return
     */
    ArticleChargePricingConfig findByUserId(String userId);
    
}
